<template>
    <div class="todo-footer">
		<label>
			<input type="checkbox" :checked="isAll" @change="isChecked" />
			<!-- 可以完成 但是不推荐因为本质还是在修改 props 传递来的数据 -->
			<!-- <input type="checkbox" v-model="isAll" /> -->
		</label>
		<span>
			<span>已完成{{doneTotal}}</span> / 全部{{total}}
		</span>
		<button class="btn btn-danger" @click="clearAll">清除已完成任务</button>
	</div>
</template>

<script>
export default {
  name: 'MyFooter',
	props: ['todo', 'checkAllTodo', 'clearAllTodo'],
	computed: {
		// 已完成
		total() {
			return this.todo.length
		},
		// 全部
		doneTotal() {
			return this.todo.reduce( (pro,current) => {
				return pro + (current.done ? 1 : 0 )
			},0)
		},
		// 是否全选
		isAll() {
			return this.doneTotal === this.total && this.total > 0
		}

		// 计算属性完成全选
		// isAll: {
		// 	get() {
		// 		return this.doneTotal === this.total
		// 	},
		// 	set(val) {
		// 		this.checkAllTodo(val)
		// 	}
		// }
	},
	methods: {
		// 全选
		isChecked(e) {
			this.checkAllTodo(e.target.checked)
		},
		// 清除已完成
		clearAll() {
			if( confirm('确定删除已经完成的任务') )
			this.clearAllTodo()
		}
	}
}
</script>

<style scoped>
	/*footer*/
	.todo-footer {
		height: 40px;
		line-height: 40px;
		padding-left: 6px;
		margin-top: 5px;
	}

	.todo-footer label {
		display: inline-block;
		margin-right: 20px;
		cursor: pointer;
	}

	.todo-footer label input {
		position: relative;
		top: -1px;
		vertical-align: middle;
		margin-right: 5px;
	}

	.todo-footer button {
		float: right;
		margin-top: 5px;
	}
</style>